// 数据加载动画效果
// 参数1：loadingid 模板元素的id
// 参数2：mark 动画的效果 1 2
function ksdLoading(loadingid,mark){
    var divdom = document.getElementById(loadingid);//
    if(mark==1){
        divdom.innerHTML = "<div class=\"spinner2\"></div>";
    }else if(mark==2){
        divdom.innerHTML = "<div class=\"spinner2\"></div>";
    }else{
        divdom.innerHTML = "<!--loading提示-->\n" +
        "        <div class=\"spinner\">\n" +
        "            <div class=\"spinner-container container1\">\n" +
        "                <div class=\"circle1\"></div>\n" +
        "                <div class=\"circle2\"></div>\n" +
        "                <div class=\"circle3\"></div>\n" +
        "                <div class=\"circle4\"></div>\n" +
        "            </div>\n" +
        "            <div class=\"spinner-container container2\">\n" +
        "                <div class=\"circle1\"></div>\n" +
        "                <div class=\"circle2\"></div>\n" +
        "                <div class=\"circle3\"></div>\n" +
        "                <div class=\"circle4\"></div>\n" +
        "            </div>\n" +
        "            <div class=\"spinner-container container3\">\n" +
        "                <div class=\"circle1\"></div>\n" +
        "                <div class=\"circle2\"></div>\n" +
        "                <div class=\"circle3\"></div>\n" +
        "                <div class=\"circle4\"></div>\n" +
        "            </div>\n" +
        "        </div>";
    }
}


// fn 是需要节流处理的函数
// wait 是时间间隔
function throttle(fn, wait=3000) {

    // previous 是上一次执行 fn 的时间
    // timer 是定时器
    var previous = 0, timer = null

    // 将 throttle 处理结果当作函数返回
    return function (...args) {

        // 获取当前时间，转换成时间戳，单位毫秒
        var now = +new Date()

        // ------ 新增部分 start ------
        // 判断上次触发的时间和本次触发的时间差是否小于时间间隔
        if (now - previous < wait) {
            // 如果小于，则为本次触发操作设立一个新的定时器
            // 定时器时间结束后执行函数 fn
            if (timer) clearTimeout(timer)
            timer = setTimeout(() => {
                previous = now
                fn.apply(this, args)
            }, wait)
            // ------ 新增部分 end ------

        } else {
            // 第一次执行
            // 或者时间间隔超出了设定的时间间隔，执行函数 fn
            previous = now
            fn.apply(this, args)
        }
    }
}

